package licode.unisop.auth.domain.user.gateway;

import licode.unisop.auth.client.info.AccountIn;
import licode.unisop.auth.client.info.IdentityIn;
import licode.unisop.auth.client.info.UserIdFindIn;
import licode.unisop.provider.vo.SiUser;
import licode.unisop.realm.client.info.SiUpdatePasswordIn;

/**
 * 定义用户相关的写操作防腐操作接口
 *
 * @author licode
 */
public interface UserGateway {
    /**
     * 根据账号信息获取对应的用户信息
     * @param account 账号信息
     * @return 用户信息
     */
    SiUser findUser(AccountIn account);
    SiUser findUser(UserIdFindIn account);

    IdentityIn findIdentity(UserIdFindIn idFind);
    void updatePassword(SiUpdatePasswordIn info);
}
